let clientId = $('#HiddenClientId').val(); let portalName = $('#HiddenPortalName').val(); let currencyCode = $('#HiddenCurrencyCode').val(); let fractionDigit = $('#HiddenFractionDigit').val(); let gameName = $('#HiddenGameName').val(); let hasPromotions = false; let loaded = false; let promotionsType = 'BetAndWinSummaryApi'; let promotionsList = []; let gameCategory = $('#HiddenCategory').val(); let promotionMainUrl = $('#HiddenPromotionUrl').val(); let hasPersonalOfferPromotion = false let reskinName = $('#HiddenReskinName').val(); let promotionName = null; promotionsList['BetAndWinSummary'] = { 'api': 'BetAndWinSummaryApi', 'rules': 'promotion.popup.rules.text' }; promotionsList['GLOBALBETANDWINSUMMARY'] = { 'api': 'GlobalBetAndWinSummaryApi', 'rules': 'GlobalBetAndWinSummary.promotion.popup.rules.text' }; promotionsList['CASHBACK'] = { 'api': 'CashbackApi', 'rules': 'GlobalBetAndWinSummary.promotion.popup.rules.text' }; function timerItem(number) { number += ''; let a = number.split(''); if (a.length === 0) { a.push(0); a.push(0); } else if (a.length === 1) { a.unshift(0) } let html = ``; for (let i = 0; i < a.length; i++) html += `${a[i]}`; return html; } function getPromotionUrl(portalName, gameName, currencyCode) { return `${promotionMainUrl}api/com/CommonApi/GetPromotions/${portalName}/${gameName}/${currencyCode}`; } function getPromotionListUrl(clientId, portalName, currencyCode) { return `${promotionMainUrl}api/${promotionsType}/GetPromotionList/${clientId}/${portalName}/${currencyCode}`; } let ajaxReq = null; let newPromotionsArray = ['XPLUSY','DAILYLEADERBOARD','WHEEL','PRIZEDROPWHEEL','PRIZEDROPWHEELVIP','RANDOMPOINTSWHEEL','RANDOMPOINTSWHEELBANNER','LUCKYCOIN'] function getPromotions() { let promotionsUrl = getPromotionUrl(portalName, gameName, currencyCode); ajaxReq = $.get(promotionsUrl, function (data) { if (data.length > 0) { if (promotionsList[data[0]] !== undefined) { promotionsType = promotionsList[data[0]].api; $('.promotion .list.rules .captionKey').data('caption', promotionsList[data[0]].rules); } for( let index = 0; index < data.length; index++){ if ( newPromotionsArray.includes(data[index])) { loadJsFile(data[index]); promotionName = data[index]; }else if (data[index] === 'PERSONALOFFER'){ hasPersonalOfferPromotion = true; }else{ hasPromotions = true; showPromotionButton(); } } } }).fail(function (jqXHR, textStatus, errorThrown) { }); } var loadedFiles = {}; var promoFileNames = { XPLUSY: "XplusY", DAILYLEADERBOARD: "DailyLeaderBoard", PRIZEDROPWHEEL: "PrizeDropWheel", PRIZEDROPWHEELVIP: "PrizeDropWheel", WHEEL: "Wheel", RANDOMPOINTSWHEEL : "RandomPointsWheel", RANDOMPOINTSWHEELBANNER : "RandomPointsWheel", LUCKYCOIN : "LuckyCoin" } let staticContentUrl = $('#StaticContentUrl').val(); function loadJsFile(name) { if (!loadedFiles[name]) { let script = document.createElement('script'); let staticContentUrls = staticContentUrl.split('/'); staticContentUrl = ''; for (let i = 0; i < staticContentUrls.length - 1; i++) { staticContentUrl += `${staticContentUrls[i]}/`; } script.src = `${staticContentUrl === '' ? './Content/Scripts/' : staticContentUrl}Promotions/${promoFileNames[name]}.js`; document.body.appendChild(script); loadedFiles[name] = true; } else { showPromotion(name); } } function showPromotion(name) { let promos = { DAILYLEADERBOARD: "showDailyLeaderBoardPromotionButton", XPLUSY:"showXplusYpromotionButton", WHEEL: "showWheelPromotionButton", PRIZEDROPWHEEL: "showPrizeDropPromotion", PRIZEDROPWHEELVIP : "showPrizeDropPromotion", RANDOMPOINTSWHEEL : 'showRandomPointsPromotion', RANDOMPOINTSWHEELBANNER : 'showRandomPointsPromotion', LUCKYCOIN : 'showLuckyCoinPromotion' } window[promos[name]](); } function showPromotionButton() { if (hasPromotions && loaded) { //$('.promotion-icon').css('display', 'block'); $('#game-frame')[0].contentWindow.postMessage({ name: "promotion-icon-show" }, "*"); } } function promotionClientName(name) { if (name === '') return ''; name = name.split(''); return name[0] + '*****' + name.slice(-1); } function getPromotion() { let promotionsUrl = getPromotionListUrl(clientId, portalName, currencyCode); ajaxReq = $.get(promotionsUrl, function (data) { $('.captionKey').each(function (e) { let attr = GetCaption($(this).data('caption')); $(this).html(attr); }); timer(data.EndDate); let html = ``; if (data.PromotionName === 'CASHBACK') { timerJetX(data.EndDate); $('.jetx-promotion').fadeIn(100).addClass(localeCode); $('#game-container-div').hide(); DrawJetXPromotionPopup(data); return; } for (let i = 0; i < data.BetAndWinResultDetails.length; i++) { let result = data.BetAndWinResultDetails[i]; if (result.ClientId === clientId) { $('.promotion .current.top-wins .list').html(`